<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>安装 Quick Server - QuickServer Documents</title>
  

  <link rel="shortcut icon" href="../img/favicon.ico">

  
  <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>

  <link rel="stylesheet" href="../css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
  <link rel="stylesheet" href="../css/highlight.css">

  <script src="../js/jquery-2.1.1.min.js"></script>
  <script src="../js/modernizr-2.8.3.min.js"></script>
  <script type="text/javascript" src="../js/highlight.pack.js"></script>
  <script src="../js/theme.js"></script> 

  
</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
      <div class="wy-side-nav-search">
        <a href="../index.html" class="icon icon-home"> QuickServer Documents</a>
        
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
      <ul class="current">
    
        
            <li class="toctree-l1 ">
                <a class="" href="../index.html">Home</a>
                
            </li>
        

    
        
            <li class="toctree-l1 ">
                <a class="" href="../intro/index.html">介绍</a>
                
            </li>
        

    
        
            <li class="toctree-l1 current">
                <a class="current" href="index.html">安装 Quick Server</a>
                
                    <ul>
                    
                        <li class="toctree-l3"><a href="#quick-server">安装 Quick Server</a></li>
                        
                            <li><a class="toctree-l4" href="#installsh">使用 install.sh 脚本安装</a></li>
                        
                            <li><a class="toctree-l4" href="#_1">使用虚拟机</a></li>
                        
                            <li><a class="toctree-l4" href="#quick-server_1">Quick Server 的启动</a></li>
                        
                    
                    </ul>
                
            </li>
        

    
        
            <li class="toctree-l1 ">
                <a class="" href="../config/index.html">配置 Quick Server</a>
                
            </li>
        

    
        
            <li class="toctree-l1 ">
                <a class="" href="../admin/index.html">管理接口</a>
                
            </li>
        

    
        
            <li class="toctree-l1 ">
                <a class="" href="../changelog/index.html">Change Log</a>
                
            </li>
        

    
        
            <li class="toctree-l1 ">
                <a class="" href="../license/index.html">License</a>
                
            </li>
        

    
</ul>

      </div>
      &nbsp;
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
        <a href="../index.html">QuickServer Documents</a>
      </nav>

      
      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="../index.html">Docs</a> &raquo;</li>
    
    <li>安装 Quick Server</li>
      <li class="wy-breadcrumbs-aside">
        
      </li>
  </ul>
  <hr/>
</div>
          <div role="main">
            <div class="section">
              <h1 id="quick-server">安装 Quick Server</h1>
<p>Quick Server 安装和部署可以使用两种方式：</p>
<ul>
<li>下载 Quick Server 源代码，并使用 shell 脚本进行安装，适合于在生产环境部署自己的 Quick Server 实例。</li>
<li>使用我们提供的虚拟机，直接测试 Quick Server 环境。适合测试和开发阶段。</li>
</ul>
<h2 id="installsh">使用 install.sh 脚本安装</h2>
<p>首先，我们需要下载 Quick Server 代码。我们可以使用 Git 直接从 Quick Server 的代码仓库拉取。</p>
<div class="codehilite"><pre><span class="nv">$ </span>git clone https://github.com/dualface/quickserver.git
<span class="nv">$ </span><span class="nb">cd </span>quickserver
<span class="nv">$ </span>sudo ./install.sh
</pre></div>


<p>然后进入 Quick Server 所在目录，运行其中的 <code>install.sh</code> 脚本即可完成安装。</p>
<blockquote>
<p>目前 <code>install.sh</code> 仅在 Ubuntu 和 CentOS 操作系统中进行了测试。</p>
</blockquote>
<p><code>install.sh</code> 脚本支持一些参数:</p>
<ul>
<li><code>--prefix=arg</code>: 指定 Quick Server 的安装路径。默认路径是 <code>/opt/quick_server</code> 。</li>
<li><code>-a, --all</code>: 安装 Quick Server 所有基本组件, 包括 nginx(OpenResty), Quick Server Framework, Redis, 以及 Beanstalkd。这是 <code>install.sh</code> 的默认选项。</li>
<li><code>-n, --nginx</code>: 仅安装 nginx(OpenResty) 以及 Quick Server Framework。</li>
<li><code>-r, --redis</code>: 仅安装 Redis。</li>
<li><code>-b, --beanstalkd</code>: 仅安装 Beanstalkd。</li>
<li><code>-h, --help</code>: 显示参数帮助。</li>
</ul>
<h2 id="_1">使用虚拟机</h2>
<p>要使用安装配置好 Quick Server 的 Ubuntu 虚拟机文件，需要首先安装 <a href="https://www.virtualbox.org/">VirtualBox</a> 虚拟机软件。</p>
<ul>
<li>下载 <a href="https://www.virtualbox.org/">VirtualBox</a></li>
<li>
<p>下载 <a href="http://pan.baidu.com/s/1c0AjD7M">Quick Server 虚拟机</a></p>
</li>
<li>
<p>安装 VirtualBox 后，启动 VirtualBox，选择菜单“File -&gt; Import Appliance”打开“Appliance to import”对话框。</p>
</li>
<li>选中 <code>quickserver-vm.ova</code> 文件。</li>
<li>
<p>在 <code>Appliance settings</code> 对话框中，选中“Reinitialize the Mac address of all network cards”选项。</p>
<p><img alt="" src="../img/import_quickserver_vm.png" /></p>
</li>
<li>
<p>点击“Import”完成导入操作。</p>
</li>
<li>
<p>虚拟机导入后，启动虚拟机即可看到下列画面：</p>
<p><img alt="" src="../img/quickserver_vm.png" /></p>
<p>按照屏幕提示在浏览器中访问指定网址，即可看到 Quick Server 的监控界面：</p>
<p><img alt="" src="../img/quickserver_dashboard.png" /></p>
</li>
</ul>
<h2 id="quick-server_1">Quick Server 的启动</h2>
<p>Quick Server 的启动，停止以及进程状态查看是通过 <code>start_quick_server.sh</code>，<code>stop_quick_server.sh</code> 以及 <code>status_quick_server.sh</code> 完成的。</p>
<h3 id="start_quick_serversh">start_quick_server.sh 脚本</h3>
<p><code>start_quick_server.sh</code> 脚本支持如下的参数：</p>
<ul>
<li><code>--debug</code>: 以调试模式启动 Quick Server。</li>
<li><code>-a, --all</code>: 启动 Quick Server 所有基本组件, 包括 nginx(OpenResty), Quick Server Framework, Redis, 以及 Beanstalkd。这是 <code>start_quick_server.sh</code> 的默认选项。</li>
<li><code>-n, --nginx</code>: 仅启动 nginx(OpenResty) 以及 Quick Server Framework。</li>
<li><code>-r, --redis</code>: 仅启动 Redis。</li>
<li><code>-b, --beanstalkd</code>: 仅启动 Beanstalkd。</li>
<li><code>-h, --help</code>: 显示参数帮助。</li>
</ul>
<p>我们可以执行这个脚本来启动 Quick Server。</p>
<div class="codehilite"><pre><span class="nv">$ </span>sudo ./start_quick_server.sh
</pre></div>


<p>如果要以调试模式来启动 Quick Server，可以这样：</p>
<div class="codehilite"><pre><span class="nv">$ </span>sudo ./start_quick_server.sh --debug
</pre></div>


<h3 id="stop_quick_serversh">stop_quick_server.sh 脚本</h3>
<p><code>stop_quick_server.sh</code> 脚本支持如下的参数：</p>
<ul>
<li><code>--reload</code>: 向 nginx 进程发送 SIGHUP 信号，用于重新载入配置，重启 nginx 的 worker 进程。该选项仅在 <code>-n</code> 或者 <code>--nginx</code> 被指定时有效。</li>
<li><code>-a, --all</code>: 停止 Quick Server 所有基本组件, 包括 nginx(OpenResty), Quick Server Framework, Redis, 以及 Beanstalkd。这是 <code>stop_quick_server.sh</code> 的默认选项。</li>
<li><code>-n, --nginx</code>: 仅停止 nginx(OpenResty) 以及 Quick Server Framework。</li>
<li><code>-r, --redis</code>: 仅停止 Redis。</li>
<li><code>-b, --beanstalkd</code>: 仅停止 Beanstalkd。</li>
<li><code>-h, --help</code>: 显示参数帮助。</li>
</ul>
<p>我们可以执行这个脚本来停止 Quick Server。</p>
<div class="codehilite"><pre><span class="nv">$ </span>sudo ./stop_quick_server.sh
</pre></div>


<p>如果要 nginx 重新载入 nginx 的配置，并重启 nginx 的 worker 进程，可以这样使用：</p>
<div class="codehilite"><pre><span class="nv">$ </span>sudo ./stop_quick_server.sh -n --reload
</pre></div>


<blockquote>
<p>值得注意的是， <code>--reload</code> 并不是重新载入 <code>config.lua</code> ，而仅仅是重新载入 nginx 的配置文件 <code>nginx.conf</code> ，并重启所有的 nginx worker 进程，nginx master 并不会重启。</p>
</blockquote>
<h3 id="status_quick_serversh">status_quick_server.sh 脚本</h3>
<p><code>status_quick_server.sh</code> 脚本用于查看与 Quick Server 相关的进程。直接使用它就可以了：</p>
<div class="codehilite"><pre><span class="nv">$ </span>sudo ./status_quick_server.sh
</pre></div>


<p>终端会将结果以多个 section 的方式返回，包括 <code>[Nginx]</code> ， <code>[Redis]</code> ， <code>[Beanstalkd]</code> 以及 <code>[Monitor]</code> 。每一个 section 下包含了各自相关的进程。</p>
<blockquote>
<p>要是以默认的 <code>-a</code> 或者 <code>--all</code> 方式启动 Quick Server，那么所有的 section 下都应该看到有进程在运行。如果以其他选项启动了 Quick Server 的部分组件，那么只会看到部分组件的进程在运行，并且 <code>[Monitor]</code> 下不会有进程运行，也就是在这种情况下， Monitor 不会启动。</p>
</blockquote>
            </div>
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="../config/index.html" class="btn btn-neutral float-right" title="配置 Quick Server"/>Next <span class="icon icon-circle-arrow-right"></span></a>
      
      
        <a href="../intro/index.html" class="btn btn-neutral" title="介绍"><span class="icon icon-circle-arrow-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
    <!-- Copyright etc -->
    </p>
  </div>

  Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
	  
        </div>
      </div>

    </section>

  </div>

<div class="rst-versions" role="note" style="cursor: pointer">
    <span class="rst-current-version" data-toggle="rst-current-version">
        
      <span><a href="../intro/index.html" style="color: #fcfcfc;">&laquo; Previous</a></span>
      <span style="margin-left: 15px"><a href="../config/index.html" style="color: #fcfcfc">Next &raquo;</a></span>
    </span>
</div>

<!--
MkDocs version  : 0.12.1
Docs Build Date : 2015-04-19 02:55:50.863403
-->
</body>
</html>